console.log("-------- 标识符 --------");
console.log("-- 变量名、函数名都是标识符。--");
console.log("-- 类似于OC里的对象名 --");

console.log("-------- 字面量 --------");

console.log("-------- 变量声明语句 --------");
var foo;
var foo, bar;
var foo = "FOO",
  bar = "BAR";

console.log("-------- 函数的声明语句 --------");
// 函数声明语句的语法
console.log("function 函数名 ( 参数 , 参数 , ……) { ");
console.log("                语句 ");
console.log("                语句 ");
console.log("                …… ");
console.log("}");

console.log("-------- 表达式语句 --------");
console.log("// 表达式语句的例子 ");
console.log("var s; ");
console.log("s = 'foo'; // 赋值表达式的表达式语句 ");
console.log("console.log(s); // 函数调用表达式的表达式语句");

console.log("-------- 空语句 --------");

// 空代码块
while (0) {}
// 包含了空语句的代码块
while (0 == 1) {}
// 仅有空语句
while (0);

console.log("-------- 控制语句 --------");

console.log("// while 语句 ");
console.log("while ( 条件表达式 ) ");
console.log("...语句 ");

console.log("----------------");

console.log("// do-while 语句 ");
console.log("do ");
console.log("...语句 ");
console.log("while ( 条件表达式 ); ");

console.log("----------------");

console.log("// for 语句 ");
console.log("for ( 初始化表达式 ; 条件表达式 ; 更新表达式 )");
console.log("...语句 ");

console.log("----------------");

// 使用 do-while 语句的例子
function printNumberFromRight(n) {
  do {
    console.log(n % 10);
    n = ~~(n / 10);
    // 如果使用 n /= 10; 的话结果将会是一个小数。
    // ~~ 转换成数字整型，运算是一种可以把小数变为整数的巧妙方法。
  } while (n > 0);
}
console.log(printNumberFromRight(12));

console.log(~~102.34);

console.log("----------------");

console.log("for ( 初始化表达式 ; 条件表达式 ; 更新表达式 )");

console.log("for in");

var obj = { x: 1, y: 3, z: 2 };
for (var k in obj) {
  console.log("输出为：" + obj[k]);
}

console.log("----------------");

console.log("-- 数列 [7,3,4,5,1,67] ：非等差数列，等差数列，等比数列等--");

console.log("-------- 标签语法规则 --------");
console.log("-- 标签字符串 ：语句 --");

outer_loop: while (true) {
  console.log("外循环");
  while (true) {
    console.log("内循环");
    break outer_loop;
  }
}
console.log("-------- 异常 --------");

console.log("-------- 表达式 --------");
console.log("1+1 在数学中是一种表达式，在 JavaScript 中也是一种表达式。");
console.log(
  "1+1 是由数字 1 和表示加法运算的 + 运算符组成的。作为运算对象的数字被称为操作数。"
);

console.log("-------- 逻辑运算 --------");

var n = 0 && 1;
console.log(n); // 0

var n = 10 && 1;
console.log(n); // 1

var n = 1 || 2;
console.log(n); // 1

var n = false || "x";
console.log(n); // x

console.log("-------- delete运算 --------");
